package br.com.certificacao.Conjuntos.priorityqueue;

import java.util.Comparator;
import java.util.PriorityQueue;

/**
 * Teste com priority queue, cujo objetivo e criar uma fila com ordenamento.Essa classificacao ocorre de maneira natural ou de acordo com um 
 * Comparator.
 * @author Sidney
 *
 */
class PriorityComparator implements Comparator{
	public int compare(Object o1, Object o2){
		return (Integer)o1 - (Integer)o2;
	}
}
public class Teste {
	public static void main(String[] args) {
		int [] a = {1, 5, 3, 7, 6, 9, 8};//dados nao ordenados
		System.out.println("Ordem sem mexer em nada: " );
		for(int x : a)
			System.out.print(x + " ");
		System.out.println();
		PriorityQueue pq1 = new PriorityQueue();
		for(int x: a)
			pq1.offer(x);//carrega a fila
		System.out.print("Ordem Natural Dos Elementos Dentro da Pilha: \n");
		for(int x : a)
			System.out.print(pq1.poll() + " ");
	}
}
